<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2021/5/19 0019
 * Time: 下午 4:18
 */
namespace app\model;
use think\Model;
class User extends Model{
    public $table="user";


    /**
     * 检查指定的手机号是否存在
     * @param $mobile
     * @return bool
     */
    function if_exit_by_mobile($mobile){
        $o=$this->where(['mobile'=>$mobile])->value("id");
        if($o==false){
            return false;
        }else{
            return true;
        }
    }

    /**
     * 插入用户
     * @param $arr
     * @return int|string
     */
    function add_user($arr){
        $data['mobile']=$arr['mobile'];
        $data['password']=md5($arr['password']);
        $data['created_at']=cur_time();
        $data['user_type']=1;
        $id=$this->insert($data,false,true);
        return $id;
    }

    /**
     * 根据手机号返回对应的用户信息
     * @param $mobile
     * @return array|false|\PDOStatement|string|Model
     */
    function get_user_info_by_mobile($mobile){
            $r=$this->where(['mobile'=>$mobile])->find();
            return object2array($r);
    }

    /**
     *
     * @param $id
     * @return mixed
     */
    function get_user_info_by_id($id){
        $r=$this->where(['id'=>$id])->find();
        return object2array($r);
    }

    /**
     * 根据用户ID,返回他的用户类型
     * @param $id
     * @return mixed
     */
    function get_user_type_by_id($id){
        $user_type=$this->where(['id'=>$id])->value("user_type");
        return $user_type;
    }

    /**
     * 保存求职意向
     * @param $id
     * @param $arr
     */
    function save_exp($id,$arr){
        $arr['updated_at']=cur_time();
        return $this->where(['id'=>$id])->update($arr);
    }

    /**返回用户的求职意向
     * @param $id
     */
    function get_exp($id){
        $o=$this->where(['id'=>$id])->field("exp_job,exp_area_id,exp_job_in_time,exp_work_type,exp_salary_type,exp_province_id")->find();
        $arr=object2array($o);
        if($arr!=false){
            $this->toTypeToName($arr);
            return $arr;
        }else{
            return [];
        }

    }

    function toTypeToName(&$arr){
        $arr['exp_work_type_name']=config("web.exp_work_type")[$arr['exp_work_type']];
        $arr['exp_salary_type_name']=config("web.salary_range_type")[$arr['exp_salary_type']];
        $Places=new Places();
        if($arr['exp_province_id']){
            $arr['province_name']=$Places->get_name_by_id($arr['exp_province_id']);
        }
        if($arr['exp_area_id']){
            $arr['city_name']=$Places->get_name_by_id($arr['exp_area_id']);
        }

        return $arr;
    }

    /**
     * 变成企业用户
     * @param $id
     * @return $this
     */
    function user_type_to_company($id){
        return $this->where(['id'=>$id])->update(['user_type'=>2]);
    }

    /**
     * 变成普通用户
     * @param $id
     * @return $this
     */
    function user_type_to_user($id){
        return $this->where(['id'=>$id])->update(['user_type'=>1]);
    }

}